概述
1. 简介
Elasticsearch是分布式全文搜索引擎。高扩展性。近乎实时的存储和检索。es实用Java开发实用Lucence作为核心来实现所有的索引和搜索功能。通过简单的RESTfulAPI来隐藏Lucene的复杂性。
2. Elasticsearch与Solr对比
- 当单纯的对已有数据进行搜索时,Solr更快。
- 当实时建立索引时,Solr会产生io阻塞,查询性能较差,Elasticsearch有明显优势。
- 随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化。
2.1. 比较总结
1、es基本是开箱即用(解压就可以用 ! ),非常简单。Solr安装略微复杂一丢丢!
2、Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能。
3、Solr 支持更多格式的数据,比如JSON、XML、CSV,而 Elasticsearch 仅支持 json文件格式。
4、Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提 供,例如图形化界面需要kibana友好支撑~!
5、Solr 查询快,但更新索引时慢(即插入删除慢),用于电商等查询多的应用;
- ES建立索引快(即查询慢),即实时性查询快,用于facebook新浪等搜索。
- Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。
6、Solr比较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而 Elasticsearch相对开发维护者较少,更新太快,学习使用成本较高。(趋势!)